<template>
  <div>
    <el-table
        :data="tableData"
        border
        style="width: 70%">
      <el-table-column
          fixed
          prop="id"
          label="编号"
          width="100">
      </el-table-column>
      <el-table-column
          prop="name"
          label="书名"
          width="200">
      </el-table-column>
      <el-table-column
          prop="author"
          label="作者"
          width="220">
      </el-table-column>
      <el-table-column
          prop="publish"
          label="发布者"
          width="220">
      </el-table-column>
      <el-table-column
          fixed="right"
          label="操作">
        <template #default="scope">
          <el-button @click="edit(scope.row)" type="text" size="small">修改</el-button>
          <el-button @click="deleteBook(scope.row)" type="text" size="small">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
    <el-pagination
        background
        layout="prev, pager, next"
        :page-size="6"
        :total="total"
        @current-change="page">
    </el-pagination>
  </div>
</template>

<script>
export default {
name: "SelectBook.",
  methods: {
    edit(row) {
      this.$router.push({
        path:'/update',
        query: {
          id: row.id
        }
      })
    },
    deleteBook(row){
      const _this = this
        axios.delete('http://localhost:8181/book/deleteById/'+row.id).then(function (resp) {
          _this.$alert('《'+row.name+'》修改成功！',"消息",
              { confirmButtonText: '确定',
                callback: action=>{
                window.location.reload(); //页面动态刷新
          }})
        })
    },
    page(currentPage){
      const _this = this
      axios.get('http://localhost:8181/book/findAll/'+currentPage+'/6').then(function (resp){
        _this.tableData = resp.data.content
        _this.total = resp.data.totalElements
      })
    },
  },
  created() {
    const _this = this
    axios.get('http://localhost:8181/book/findAll/1/6').then(function (resp){
      _this.tableData = resp.data.content
      _this.total = resp.data.totalElements
    })
  },
  data() {
    return {
      total: null,
      tableData: null
    }
  }
}
</script>

<style scoped>

</style>